﻿(function(){
//do not change "module" var name. This will be the link to the module context (module ~= this)
var module = {
	version : "0.0.1",
	url : "http://vuzzle.googlecode.com/svn/release/usermodules/whoFaved.js",
	updateUrl : "http://vuzzle.googlecode.com/svn/release/usermodules/versions/whoFaved.version",
	name : "whofaved",
	title : "вЗакладках",
	description : "Модуль показывает у кого вы в закладках!",
	author : "<a href='http://vkontakte.ru/club19013663'>VuzzleDev Team</a>",
	depends : [],
	window : null,
	favedList : [],
	processResponse : function(list){
		if (!list || !list.d || !list.d.length) {return;}
		module.favedList = vu.util.xorArray(module.favedList, list.d, function(a,b){return a[0] === b[0]});
		vu.data.save("whofaved.favedList", module.favedList);
		module.window.$content.html("");
		module.modifyWindow();
	},
	modifyWindow : function(){
		module.window.$content.append(module.buildContent());
		module.window.$lable.html("Я в закладках" + " (<strong>"+module.favedList.length+"</strong>)");
	},
	buildContent : function(){
		var $cont = $("<div></div>");
		var el = [];
		for (var l = 0; l<module.favedList.length;l++){
			var fav = module.favedList[l];
			el.push("<div class='vu-user-list-element "+(l%2?"vu-odd":"")+"'>");
			el.push("<img class='vu-user-list-ava' src='"+fav[2]+"'/>");
			el.push("<div class='vu-user-list-text-wrap'>")
			el.push("<a class='vu-user-list-link' href='/id"+fav[0]+"'>"+fav[1]+"</a>");
			el.push("</div></div>");
		}
				
		$cont.append(el.join(""));
		return $cont;
	},
	settings : {
		time : {
			text : "Периодичность обновления данных в часах",
			type : "input:int",
			value : 12,
			title : "Устанавливает период времени между запросами на обновление данных"
		},
		imgsize : {
			text : "Высота одной записи в окне заложивших",
			type : "input:int",
			value : 50,
			title : "Устанавливает размер аватарки и высоту записи для каждого контакта в окне заложивших"
		}
	},
	onApplySettings : function() {
		var timer = new vu.util.SyncTimer("whofavedTimer");
		timer.check(function(){vu.vk.api.getFaved(module.processResponse);}, module.settings.time.value*1000*60*60);
		module.window.$content.find(".vu-user-list-ava").css("width",module.settings.imgsize.value);
	},
	onUninstall : function() {
		// called when user presses Uninstall button
	},
	init : function() {
		module.window = new vu.ui.Window({height: 200, width:150, lable: "Я в закладках", idString: "whofaved"});
		//запускаем таймер на проверку заложивших
		var timer = new vu.util.SyncTimer("whofavedTimer");
		timer.check(function(){vu.vk.api.getFaved(module.processResponse);}, module.settings.time.value*1000*60*60);
		//module.window.$content;
		module.favedList = vu.data.load("whofaved.favedList", []);
		module.modifyWindow();
		module.window.$content.find(".vu-user-list-ava").css("width",module.settings.imgsize.value);
	}
};
return module;})();